/** 
*   getBall.js V 0.0.1 
*   by Goog、2021 
*   2021-9-12 21:54:52
*/

function getBall(...option){
    // 类型检查
    if(!option[0]||!(option[0] instanceof Object)) throw Error('格式错误!参数只能填对象格式为:{min:最小值[数字型],max:最大值[数字型],places:生成位数[数字型],addZero:是否前面加0[布尔值],repeat:是否允许号码重复[布尔值]}')
 
    const {min,max,places,addZero,repeat} = option[0]

    // 默认设定
    const set = {
        min:min||1, // 最小值
        max:max||33, // 最大值
        places:places||6, // 位数
        addZero:addZero===undefined?true:addZero, // 不足两位是否在前面加0
        repeat:repeat===undefined?false:repeat // 允许重复号码?
    }
    let ball = []
while(ball.length!=set.places){
    let temp_ball = Math.floor(Math.random()*(set.max-set.min+1))+set.min
    if(set.addZero){temp_ball<=9?temp_ball='0'+temp_ball:temp_ball} // 加0
    if(ball.indexOf(temp_ball)===-1||set.repeat===true){
        ball.push(temp_ball.toString())
    }
}
// console.log(set.addZero);
    return ball.sort((a,b)=>a-b) // 排序
}
// CJS暴露模块
// module.exports = getBall 
// ES6默认暴露模块
// export default getBall 
// console.log('---------体育彩票----------');
// console.log('大乐透随机:'+getBall({max:35,places:5}).join(' ')+' + '+getBall({min:1,max:12,places:2}).join(' '));
// console.log('七星彩随机:'+getBall({min:0,max:9,places:6,repeat:true,addZero:false}).join('')+'+'+getBall({min:0,max:14,places:1,addZero:false}));
// console.log('排列三随机:'+getBall({min:0,max:9,repeat:true,places:3,addZero:false}).join(''));

// console.log('---------福利彩票----------');
// console.log('双色球随机:'+getBall({}).join(' ')+' + '+getBall({min:1,max:16,places:1}));
// console.log('七乐彩随机:'+getBall({max:30,places:7}).join(' '));
// console.log('福彩3D随机:'+getBall({min:0,max:9,repeat:true,places:3,addZero:false}).join(''));
// console.log('快8选10随机:'+getBall({max:80,places:10}).join(' '));